/* Copyright Thanh-Trung Pham, JAIST, 2013 */

package jp.ac.jaist.message;

import java.util.ListResourceBundle;

/**
 *
 * @author Thanh-Trung Pham
 */
public class RMPMessageResource extends ListResourceBundle {

    //////////////////////////////////////////////////////
    //Messages from 1 to 99 are for the input model manager component.
    public static final String IMM_NON_EXISTING_INPUT_MODEL_FILE = "1";
    public static final String IMM_UNEXPECTED_EXCEPTION = "2";
    public static final String IMM_INVALID_INPUT_MODEL = "3";
    public static final String IMM_DUPLICATED_USER_INTERFACE = "4";
    public static final String IMM_DUPLICATED_SERVICE = "5";

    public static final String IMM_DUPLICATED_COMPONENT = "7";
    public static final String IMM_INVALID_USAGE_PROFILE = "8";
    public static final String IMM_DUPLICATED_LOOP_COUNT_LABEL_IN_USAGE_PROFILE_PART = "9";
    public static final String IMM_DUPLICATED_LOOP_COUNT_VALUE_IN_USAGE_PROFILE_PART = "9.1";
    public static final String IMM_INVALID_LOOP_COUNT_PROBABILITY_DISTRIBUTION_IN_USAGE_PROFILE_PART = "9.2";
    public static final String IMM_DUPLICATED_BRANCHING_CONDITION_LABEL_IN_USAGE_PROFILE_PART = "10";
    public static final String IMM_DUPLICATED_COMPONENT_INSTANCE_IN_ARCHITECTURE = "11";
    public static final String IMM_DUPLICATED_COMPONENT_CONNECTOR_IN_ARCHITECTURE = "12";
    public static final String IMM_DUPLICATED_REQUIRED_SERVICE_IN_COMPONENT = "13";
    public static final String IMM_NOT_DECLARED_REQUIRED_SERVICE_IN_COMPONENT = "14";
    public static final String IMM_DUPLICATED_PROVIDED_SERVICE_IN_COMPONENT = "15";
    public static final String IMM_NOT_DECLARED_PROVIDED_SERVICE_IN_COMPONENT = "16";
    public static final String IMM_DUPLICATED_SERVICE_IMPLEMENTATION_IN_COMPONENT = "17";
    public static final String IMM_NOT_FOR_PROVIDED_SERVICE_IMPLEMENTATION_IN_COMPONENT = "18";
    public static final String IMM_MISSING_SERVICE_IMPLEMENTATION_IN_COMPONENT = "19";
    public static final String IMM_REDUNDANT_REQUIRED_SERVICE_IN_COMPONENT = "20";
    public static final String IMM_INVALID_INTERNAL_ACTIVITY_IN_SERVICE_IMPLEMENTATION_IN_COMPONENT = "21";
    public static final String IMM_INVALID_CALLING_ACTIVITY_IN_SERVICE_IMPLEMENTATION_IN_COMPONENT = "22";
    public static final String IMM_DUPLICATED_INTERNAL_ACTIVITY_NAME_IN_SERVICE_IMPLEMENTATION_IN_COMPONENT = "23";
    public static final String IMM_NOT_DECLARED_COMPONENT_IN_ARCHITECTURE = "24";
    public static final String IMM_NOT_DECLARED_COMPONENT_INSTANCE_IN_ARCHITECTURE = "25";
    public static final String IMM_NOT_EXISTING_REQUIRED_SERVICE_IN_COMPONENT_CONNECTOR_IN_ARCHITECTURE = "26";
    public static final String IMM_NOT_EXISTING_PROVIDED_SERVICE_IN_COMPONENT_CONNECTOR_IN_ARCHITECTURE = "27";

    public static final String IMM_USER_INTERFACE_REFERRING_TO_NON_EXISTING_COMPONENT_INSTANCE = "29";
    public static final String IMM_USER_INTERFACE_REFERRING_TO_NON_EXISTING_PROVIDED_SERVICE = "30";
    public static final String IMM_USAGE_PROFILE_PART_REFERRING_TO_NON_EXISTING_USER_INTERFACE = "31";
    public static final String IMM_USER_INTERFACE_CONTAINING_RECURSIVE_CALLS = "32";
    public static final String IMM_USER_INTERFACE_MISSING_USAGE_PROFILE = "33";
    public static final String IMM_USAGE_PROFILE_PART_MISSING_BRANCHING_CONDITION_PROBABILITY = "34";
    public static final String IMM_USAGE_PROFILE_PART_INVALID_BRANCHING_CONDITION_PROBABILITIES = "35";
    public static final String IMM_USAGE_PROFILE_PART_MISSING_LOOP_COUNT_LABEL = "36";
    public static final String IMM_USER_INTERFACE_MISSING_COMPONENT_CONNECTOR = "37";
    public static final String IMM_DUPLICATED_FAILURE_TYPE = "38";
    public static final String IMM_NOT_ALLOWED_FAILURE_TYPE = "39";
    public static final String IMM_NOT_DECLARED_FAILURE_TYPE = "40";
    public static final String IMM_INVALID_ERROR_DETECTION_PROBABILITIES = "41";
    public static final String IMM_MORE_ERROR_DETECTION_MATRICES_NEEDED = "42";
    public static final String IMM_MVP_STRUCTURE_INVALID_MIN_MAJORITY_SIZE = "43";
    public static final String IMM_MVP_STRUCTURE_DUPLICATED_ELEMENT_IN_AGREEMENT_OF_ERRORS_VECTOR = "44";
    public static final String IMM_MVP_STRUCTURE_NOT_NECESSARY_ELEMENT_IN_AGREEMENT_OF_ERRORS_VECTOR = "45";
    public static final String IMM_MORE_ERROR_PROPERTY_VECTORS_NEEDED = "46";



    ///////////////////////////////////////////////////////////////////////
    //Messages from 101 to 199 are for the command-line interface component.
    public static final String CLI_UNEXPECTED_EXCEPTION = "101";
    private static final Object[][] CONTENTS = {
            ////////////////////////////////////////////////////////////////////////////////////
            //for the input model manager component
            {IMM_NON_EXISTING_INPUT_MODEL_FILE, "The input model file ''{0}'' is not existing."},
            {IMM_UNEXPECTED_EXCEPTION, "Unexpected exception: {0}."},
            {IMM_INVALID_INPUT_MODEL, "The input model is invalid."},
            {IMM_DUPLICATED_USER_INTERFACE, "The input model is invalid: Duplicated user interface ''{0}''."},
            {IMM_DUPLICATED_SERVICE, "The input model is invalid: Duplicated service ''{0}''."},
            {IMM_DUPLICATED_COMPONENT, "The input model is invalid: Duplicated component ''{0}''."},
            {IMM_INVALID_USAGE_PROFILE, "The input model is invalid: Total probability for usage profile parts in a usage profile must be 1.0. Error location: Line {0}."},
            {IMM_DUPLICATED_LOOP_COUNT_LABEL_IN_USAGE_PROFILE_PART, "The input model is invalid: Duplicated loop count label ''{0}'' in a usage profile part. Error location: Line {1}."},
            {IMM_DUPLICATED_LOOP_COUNT_VALUE_IN_USAGE_PROFILE_PART, "The input model is invalid: Duplicated loop count value ''{0}'' in a loop count probability distribution. Error location: Line {1}."},
            {IMM_INVALID_LOOP_COUNT_PROBABILITY_DISTRIBUTION_IN_USAGE_PROFILE_PART, "The input model is invalid: Total probability for a probability distribution of loop count label ''{0}'' must be 1.0. Error location: Line {1}."},
            {IMM_DUPLICATED_BRANCHING_CONDITION_LABEL_IN_USAGE_PROFILE_PART, "The input model is invalid: Duplicated branching condition label ''{0}'' in a usage profile part. Error location: Line {1}."},
            {IMM_DUPLICATED_COMPONENT_INSTANCE_IN_ARCHITECTURE, "The input model is invalid: Duplicated component instance ''{0}''. Error location: Line {1}."},
            {IMM_DUPLICATED_COMPONENT_CONNECTOR_IN_ARCHITECTURE, "The input model is invalid: Duplicated component connector for required service ''{0}'' of component instance ''{1}''. Error location: Line {2}."},
            {IMM_DUPLICATED_REQUIRED_SERVICE_IN_COMPONENT, "The input model is invalid: Duplicated required service ''{0}'' in component ''{1}''."},
            {IMM_NOT_DECLARED_REQUIRED_SERVICE_IN_COMPONENT, "The input model is invalid: Required service ''{0}'' of component ''{1}'' has not been declared in the service list."},
            {IMM_DUPLICATED_PROVIDED_SERVICE_IN_COMPONENT, "The input model is invalid: Duplicated provided service ''{0}'' in component ''{1}''."},
            {IMM_NOT_DECLARED_PROVIDED_SERVICE_IN_COMPONENT, "The input model is invalid: Provided service ''{0}'' of component ''{1}'' has not been declared in the service list."},
            {IMM_DUPLICATED_SERVICE_IMPLEMENTATION_IN_COMPONENT, "The input model is invalid: Duplicated service implementation for service ''{0}'' in component ''{1}''."},
            {IMM_NOT_FOR_PROVIDED_SERVICE_IMPLEMENTATION_IN_COMPONENT, "The input model is invalid: There is no provided service ''{0}'' for service implementation in component ''{1}''."},
            {IMM_MISSING_SERVICE_IMPLEMENTATION_IN_COMPONENT, "The input model is invalid: Missing a service implementation for provided service ''{0}'' in component ''{1}''."},
            {IMM_REDUNDANT_REQUIRED_SERVICE_IN_COMPONENT, "The input model is invalid: Redundant required service ''{0}'' in component ''{1}''."},
            {IMM_INVALID_INTERNAL_ACTIVITY_IN_SERVICE_IMPLEMENTATION_IN_COMPONENT, "The input model is invalid: There is an internal activity with total failure probability greater than 1.0 in the service implementation for provided service ''{0}'' in component ''{1}''."},
            {IMM_INVALID_CALLING_ACTIVITY_IN_SERVICE_IMPLEMENTATION_IN_COMPONENT, "The input model is invalid:  There is a calling activity referring to non-existing required service ''{0}'' in the service implementation for provided service ''{1}'' in component ''{2}''."},
            {IMM_DUPLICATED_INTERNAL_ACTIVITY_NAME_IN_SERVICE_IMPLEMENTATION_IN_COMPONENT, "The input model is invalid: Duplicated internal activity name ''{0}'' in the service implementation for provided service ''{1}'' in component ''{2}''."},
            {IMM_NOT_DECLARED_COMPONENT_IN_ARCHITECTURE, "The input model is invalid: The component instance ''{0}'' refers to non-existing component ''{1}''. Error location: Line {1}."},
            {IMM_NOT_DECLARED_COMPONENT_INSTANCE_IN_ARCHITECTURE, "The input model is invalid: There is a component connector referring to non-existing component instance ''{0}''. Error location: Line {1}."},
            {IMM_NOT_EXISTING_REQUIRED_SERVICE_IN_COMPONENT_CONNECTOR_IN_ARCHITECTURE, "The input model is invalid: There is a component connector referring to non-existing required service ''{0}'' of component instance ''{1}''. Error location: Line {2}."},
            {IMM_NOT_EXISTING_PROVIDED_SERVICE_IN_COMPONENT_CONNECTOR_IN_ARCHITECTURE, "The input model is invalid: There is a component connector referring to non-existing provided service ''{0}'' of component instance ''{1}''. Error location: Line {2}."},
            {IMM_USER_INTERFACE_REFERRING_TO_NON_EXISTING_COMPONENT_INSTANCE, "The input model is invalid: User interface ''{0}'' refers to non-existing component instance ''{1}'' in the system architecture."},
            {IMM_USER_INTERFACE_REFERRING_TO_NON_EXISTING_PROVIDED_SERVICE, "The input model is invalid: User interface ''{0}'' refers to non-existing provided service ''{1}'' of component instance ''{2}''."},
            {IMM_USAGE_PROFILE_PART_REFERRING_TO_NON_EXISTING_USER_INTERFACE, "The input model is invalid: There is a usage profile part referring to non-existing user interface ''{0}''. Error location: Line {1}."},
            {IMM_USER_INTERFACE_CONTAINING_RECURSIVE_CALLS, "The input model is invalid: Service implementation for user interface ''{0}'' contains a recursive call to provided service ''{1}'' of component instance ''{2}''."},
            {IMM_USER_INTERFACE_MISSING_USAGE_PROFILE, "The input model is invalid: Missing a usage profile for user interface ''{0}''."},
            {IMM_USAGE_PROFILE_PART_MISSING_BRANCHING_CONDITION_PROBABILITY, "The input model is invalid: Missing a branching condition probability with label ''{0}'' in a usage profile part. Error location: Line {1}."},
            {IMM_USAGE_PROFILE_PART_INVALID_BRANCHING_CONDITION_PROBABILITIES, "The input model is invalid: Invalid usage profile part because the total probability of ''{0}'' is greater than 1.0. Error location: Line {1}."},
            {IMM_USAGE_PROFILE_PART_MISSING_LOOP_COUNT_LABEL, "The input model is invalid: Missing a loop count average or a loop count probability distribution with label ''{0}'' in a usage profile part. Error location: Line {1}."},
            {IMM_USER_INTERFACE_MISSING_COMPONENT_CONNECTOR, "The input model is invalid: Missing component connector for ''{0}'' in the system architecture used by user interface ''{1}''."},
            {IMM_DUPLICATED_FAILURE_TYPE, "The input model is invalid: Duplicated failure type ''{0}''. Error location: Line {1}, Column {2}."},
            {IMM_NOT_ALLOWED_FAILURE_TYPE, "The input model is invalid: Failure type ''{0}'' is not allowed. Error location: Line {1}, Column {2}."},
            {IMM_NOT_DECLARED_FAILURE_TYPE, "The input model is invalid: Failure type ''{0}'' has not been declared. Error location: Line {1}, Column {2}."},
            {IMM_INVALID_ERROR_DETECTION_PROBABILITIES, "The input model is invalid: Total error detection probability for failure type ''{0}'' is greater than 1.0. Error location: Line {1}, Column {2}."},
            {IMM_MORE_ERROR_DETECTION_MATRICES_NEEDED, "The input model is invalid: More error detection matrices are needed. Error location: Line {0}, Column {1}."},
            {IMM_MVP_STRUCTURE_INVALID_MIN_MAJORITY_SIZE, "The input model is invalid: The value ''{0}'' for minimum majority size is invalid. Error location: Line {1}."},
            {IMM_MVP_STRUCTURE_DUPLICATED_ELEMENT_IN_AGREEMENT_OF_ERRORS_VECTOR, "The input model is invalid: Invalid agreement of errors vector - Element for ''{0}'' errors are duplicated. Error location: Line {1}."},
            {IMM_MVP_STRUCTURE_NOT_NECESSARY_ELEMENT_IN_AGREEMENT_OF_ERRORS_VECTOR, "The input model is invalid: Invalid agreement of errors vector - Element for ''{0}'' errors is not necessary. Error location: Line {1}."},
            {IMM_MORE_ERROR_PROPERTY_VECTORS_NEEDED, "The input model is invalid: More error property vectors are needed. Error location: Line {0}."},



            /////////////////////////////////////////////////////////////////////////////
            //for the command-line interface component
            {CLI_UNEXPECTED_EXCEPTION, "Unexpected exception: {0}."},
    };


    /*
     * (non-Javadoc)
     *
     * @see java.util.ListResourceBundle#getContents()
     */
    @Override
    protected Object[][] getContents() {
        return CONTENTS;
    }
}
